package com.data.modules.online.cgform.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.data.modules.online.cgform.model.OnlCgformModel;
import com.data.modules.online.cgform.model.OnlGenerateModel;
import com.data.modules.online.config.exception.BusinessException;
import com.data.modules.online.config.exception.DBException;
import freemarker.template.TemplateException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.hibernate.HibernateException;
import com.data.common.api.vo.Result;
import com.data.modules.online.cgform.entity.OnlCgformButton;
import com.data.modules.online.cgform.entity.OnlCgformEnhanceJava;
import com.data.modules.online.cgform.entity.OnlCgformEnhanceJs;
import com.data.modules.online.cgform.entity.OnlCgformEnhanceSql;
import com.data.modules.online.cgform.entity.OnlCgformHead;

public interface IOnlCgformHeadService extends IService<OnlCgformHead> {
    Result<?> addAll(OnlCgformModel aVar);

    void addCrazyFormData(String str, JSONObject jSONObject) throws DBException, UnsupportedEncodingException;

    void copyOnlineTableConfig(OnlCgformHead onlCgformHead) throws Exception;

    void deleteBatch(String str, String str2);

    String deleteDataByCode(String str, String str2);

    void deleteOneTableInfo(String str, String str2) throws BusinessException;

    void deleteRecord(String str) throws DBException, SQLException;

    void deleteRecordAndTable(String str) throws DBException, SQLException;

    void doDbSynch(String str, String str2) throws HibernateException, IOException, TemplateException, SQLException, DBException;

    Result<?> editAll(OnlCgformModel aVar);

    void editCrazyFormData(String str, JSONObject jSONObject) throws DBException, UnsupportedEncodingException;

    void editEnhance(OnlCgformEnhanceJs onlCgformEnhanceJs);

    String editManyFormData(String str, JSONObject jSONObject) throws DBException, BusinessException;

    void executeCustomerButton(String str, String str2, String str3) throws BusinessException;

    void executeEnhanceExport(OnlCgformHead onlCgformHead, List<Map<String, Object>> list) throws BusinessException;

    int executeEnhanceJava(String str, String str2, OnlCgformHead onlCgformHead, JSONObject jSONObject) throws BusinessException;

    void executeEnhanceList(OnlCgformHead onlCgformHead, String str, List<Map<String, Object>> list) throws BusinessException;

    void executeEnhanceSql(String str, String str2, JSONObject jSONObject);

    List<String> generateCode(OnlGenerateModel onlGenerateModel) throws Exception;

    List<String> generateOneToMany(OnlGenerateModel onlGenerateModel) throws Exception;

    Integer getMaxCopyVersion(String str);

    void initCopyState(List<OnlCgformHead> list);

    JSONObject queryAllDataByTableNameForDesform(String str, String str2) throws DBException;

    List<OnlCgformButton> queryButtonList(String str);

    List<OnlCgformButton> queryButtonList(String str, boolean z);

    OnlCgformEnhanceJs queryEnhance(String str, String str2);

    OnlCgformEnhanceJava queryEnhanceJava(OnlCgformEnhanceJava onlCgformEnhanceJava);

    OnlCgformEnhanceJs queryEnhanceJs(String str, String str2);

    OnlCgformEnhanceSql queryEnhanceSql(String str, String str2);

    JSONObject queryFormItem(OnlCgformHead onlCgformHead, String str);

    List<Map<String, Object>> queryListData(String str);

    Map<String, Object> queryManyFormData(String str, String str2) throws DBException;

    List<Map<String, Object>> queryManySubFormData(String str, String str2) throws DBException;

    List<String> queryOnlinetables();

    Map<String, Object> querySubFormData(String str, String str2) throws DBException;

    List<OnlCgformButton> queryValidButtonList(String str);

    void saveDbTable2Online(String str);

    void saveEnhance(OnlCgformEnhanceJs onlCgformEnhanceJs);

    String saveManyFormData(String str, JSONObject jSONObject, String str2) throws DBException, BusinessException;

    void updateParentNode(OnlCgformHead onlCgformHead, String str);
}
